//package com.spring.config;
//
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.nio.charset.Charset;
//import java.util.Properties;
//
//import org.springframework.http.HttpInputMessage;
//import org.springframework.http.HttpOutputMessage;
//import org.springframework.http.MediaType;
//import org.springframework.http.converter.AbstractHttpMessageConverter;
//import org.springframework.http.converter.HttpMessageNotReadableException;
//import org.springframework.http.converter.HttpMessageNotWritableException;
//
//import com.spring.User;
//
//public class MyHttpMessageConverter extends AbstractHttpMessageConverter<User> {
//
//	public MyHttpMessageConverter() {
//		super(Charset.forName("UTF-8"), MediaType.valueOf("application/xml+properties"));
//		Charset charset = getDefaultCharset();
//		System.out.println(charset);
//
//	}
//
////	@Override
////	public void setSupportedMediaTypes(List<MediaType> supportedMediaTypes) {
////		supportedMediaTypes.add(MediaType.valueOf("application/xml+properties2"));
////		super.setSupportedMediaTypes(supportedMediaTypes);
////	}
////
////	@Override
////	public void setDefaultCharset(Charset defaultCharset) {
////		super.setDefaultCharset(Charset.forName("GBK"));
////	}
//
//	@Override
//	protected boolean supports(Class<?> clazz) {
//		if (clazz.isAssignableFrom(User.class)) {
//			return true;
//		}
//		return false;
//	}
//
//	@Override
//	public boolean canRead(Class<?> clazz, MediaType mediaType) {
//		return super.canRead(clazz, mediaType);
//	}
//
//	@Override
//	protected User readInternal(Class<? extends User> clazz, HttpInputMessage inputMessage)
//			throws IOException, HttpMessageNotReadableException {
//		InputStream in = inputMessage.getBody();
//		Properties p = new Properties();
//		p.load(new InputStreamReader(in,getDefaultCharset()));
//		User u = new User();
//		u.setAge(p.getProperty("user.age"));
//		u.setName(p.getProperty("user.name"));
//		return u;
//	}
//
//	@Override
//	protected void writeInternal(User u, HttpOutputMessage outputMessage)
//			throws IOException, HttpMessageNotWritableException {
//		Properties p = new Properties();
//		p.setProperty("user.age", u.getAge());
//		p.setProperty("user.name", u.getName());
//		p.store(outputMessage.getBody(), "MyServer");
//	}
//
//}
